package ModelLayer;
import java.util.ArrayList;

public class Product {
    // <editor-fold defaultstate="collapsed" desc="Attributes">
    private int id_product;
    private int id_supplier;
    private int id_manufacturer;
    private int id_tax;
    private int id_category_default;
    private int id_color_default;
    private boolean on_sale;
    private String ean13;
    private float ecotax;
    private int quantity;
    private float price;
    private float wholesale_price;
    private float reduction_price;
    private float reduction_percent;
    private int reduction_from;
    private int reduction_to;
    private String reference;
    private String supplier_reference;
    private String location;
    private float weight;
    private int out_of_stock;
    private int quantity_discount;
    private int customizable;
    private int uploadable_files;
    private int text_fields;
    private boolean active;
    private boolean indexed;
    private int date_add;
    private int date_upd;
    private String description;
    private String description_short;
    private String link_rewrite;
    private String meta_description;
    private String meta_keywords;
    private String meta_title;
    private String name;
    private String available_now;
    private String available_later;
    private ArrayList<Integer> categoryIDs = new ArrayList<Integer>();
    // </editor-fold>

    // <editor-fold defaultstate="collapsed" desc="Constructors">
    public Product() {
    }

    public Product(int id_product, int id_supplier, int id_manufacturer, int id_tax, int id_category_default, int id_color_default, boolean on_sale, String ean13, float ecotax, int quantity, float price, float wholesale_price, float reduction_price, float reduction_percent, int reduction_from, int reduction_to, String reference, String supplier_reference, String location, float weight, int out_of_stock, int quantity_discount, int customizable, int uploadable_files, int text_fields, boolean active, boolean indexed, int date_add, int date_upd, String description, String description_short, String link_rewrite, String meta_description, String meta_keywords, String meta_title, String name, String available_now, String available_later) {
        this.id_product             = id_product;
        this.id_supplier            = id_supplier;
        this.id_manufacturer        = id_manufacturer;
        this.id_tax                 = id_tax;
        this.id_category_default    = id_category_default;
        this.id_color_default       = id_color_default;
        this.on_sale                = on_sale;
        this.ean13                  = ean13;
        this.ecotax                 = ecotax;
        this.quantity               = quantity;
        this.price                  = price;
        this.wholesale_price        = wholesale_price;
        this.reduction_price        = reduction_price;
        this.reduction_percent      = reduction_percent;
        this.reduction_from         = reduction_from;
        this.reduction_to           = reduction_to;
        this.reference              = reference;
        this.supplier_reference     = supplier_reference;
        this.location               = location;
        this.weight                 = weight;
        this.out_of_stock           = out_of_stock;
        this.quantity_discount      = quantity_discount;
        this.customizable           = customizable;
        this.uploadable_files       = uploadable_files;
        this.text_fields            = text_fields;
        this.active                 = active;
        this.indexed                = indexed;
        this.date_add               = date_add;
        this.date_upd               = date_upd;
        this.description            = description;
        this.description_short      = description_short;
        this.link_rewrite           = link_rewrite;
        this.meta_description       = meta_description;
        this.meta_keywords          = meta_keywords;
        this.meta_title             = meta_title;
        this.name                   = name;
        this.available_now          = available_now;
        this.available_later        = available_later;
    }
    // </editor-fold>

    // <editor-fold defaultstate="collapsed" desc="Set & Get Methods">
    //Set & Get: ID
    public void setIDProduct(int id_product) {
        this.id_product = id_product;
    }
    public int getIDProduct() {
        return this.id_product;
    }

    //Set & Get: ID_Supplier
    public void setIDSupplier(int id_supplier) {
        this.id_supplier = id_supplier;
    }
    public int getIDSupplier() {
        return this.id_supplier;
    }

    //Set & Get: ID_Manufacturer
    public void setIDManufacturer(int id_manufacturer) {
        this.id_manufacturer = id_manufacturer;
    }
    public int getIDManufacturer() {
        return this.id_manufacturer;
    }

    //Set & Get: ID_Tax
    public void setIDTax(int id_tax) {
        this.id_tax = id_tax;
    }
    public int getIDTax() {
        return this.id_tax;
    }

    //Set & Get: ID_Category_Default
    public void setIDCategoryDefault(int id_category_default) {
        this.id_category_default = id_category_default;
    }
    public int getIDCategoryDefault() {
        return this.id_category_default;
    }

    //Set & Get: ID_Color_Default
    public void setIDColorDefault(int id_color_default) {
        this.id_color_default = id_color_default;
    }
    public int getIDColorDefault() {
        return this.id_color_default;
    }

    //Set & Get: On_Sale
    public void setOnSale(boolean on_sale) {
        this.on_sale = on_sale;
    }
    public boolean getOnSale() {
        return this.on_sale;
    }

    //Set & Get: EAN13
    public void setEan13(String ean13) {
        this.ean13 = ean13;
    }
    public String getEan13() {
        return this.ean13;
    }

    //Set & Get: Ecotax
    public void setEcotax(float ecotax) {
        this.ecotax = ecotax;
    }
    public float getEcotax() {
        return this.ecotax;
    }

    //Set & Get: Quantity
    public void setQuantity(int quantity) {
        this.quantity = quantity;
    }
    public int getQuantity() {
        return this.quantity;
    }

    //Set & Get: Price
    public void setPrice(float price) {
        this.price = price;
    }
    public float getPrice() {
        return this.price;
    }

    //Set & Get: Wholesale_Price
    public void setWholesalePrice(float wholesale_price) {
        this.wholesale_price = wholesale_price;
    }
    public float getWholesalePrice() {
        return this.wholesale_price;
    }

    //Set & Get: Reduction_Price
    public void setReductionPrice(float reduction_price) {
        this.reduction_price = reduction_price;
    }
    public float getReductionPrice() {
        return this.reduction_price;
    }

    //Set & Get: Reduction_Percent
    public void setReductionPercent(float reduction_percent) {
        this.reduction_percent = reduction_percent;
    }
    public float getReductionPercent() {
        return this.reduction_percent;
    }

    //Set & Get: Reduction_From
    public void setReductionFrom(int reduction_from) {
        this.reduction_from = reduction_from;
    }
    public int getReductionFrom() {
        return this.reduction_from;
    }

    //Set & Get: Reduction_To
    public void setReductionTo(int reduction_to) {
        this.reduction_to = reduction_to;
    }
    public int getReductionTo() {
        return this.reduction_to;
    }

    //Set & Get: Reference
    public void setReference(String reference) {
        this.reference = reference;
    }
    public String getReference() {
        return this.reference;
    }

    //Set & Get: Supplier_Reference
    public void setSupplierReference(String supplier_reference) {
        this.supplier_reference = supplier_reference;
    }
    public String getSupplierReference() {
        return this.supplier_reference;
    }

    //Set & Get: Location
    public void setLocation(String location) {
        this.location = location;
    }
    public String getLocation() {
        return this.location;
    }

    //Set & Get: Weight
    public void setWeight(float weight) {
        this.weight = weight;
    }
    public float getWeight() {
        return this.weight;
    }

    //Set & Get: Out_Of_Stock
    public void setOutOfStock(int out_of_stock) {
        this.out_of_stock = out_of_stock;
    }
    public int getOutOfStock() {
        return this.out_of_stock;
    }

    //Set & Get: Quantity_Discount
    public void setQuantityDiscount(int quantity_discount) {
        this.quantity_discount = quantity_discount;
    }
    public int getQuantityDiscount() {
        return this.quantity_discount;
    }

    //Set & Get: Customizable
    public void setCustomizable(int customizable) {
        this.customizable = customizable;
    }
    public int getCustomizable() {
        return this.customizable;
    }

    //Set & Get: Uploadable_Files
    public void setUploadableFiles(int uploadable_files) {
        this.uploadable_files = uploadable_files;
    }
    public int getUploadableFiles() {
        return this.uploadable_files;
    }

    //Set & Get: Text_Fields
    public void setTextFields(int text_fields) {
        this.text_fields = text_fields;
    }
    public int getTextFields() {
        return this.text_fields;
    }

    //Set & Get: Active
    public void setActive(boolean active) {
        this.active = active;
    }
    public boolean getActive() {
        return this.active;
    }

    //Set & Get: Indexed
    public void setIndexed(boolean indexed) {
        this.indexed = indexed;
    }
    public boolean getIndexed() {
        return this.indexed;
    }

    //Set & Get: Date Add
    public void setDateAdd(int date_add) {
        this.date_add = date_add;
    }
    public int getDateAdd() {
        return this.date_add;
    }

    //Set & Get: Date Upd
    public void setDateUpd(int date_upd) {
        this.date_upd = date_upd;
    }
    public int getDateUpd() {
        return this.date_upd;
    }

    //Set & Get: Description
    public void setDescription(String description) {
        this.description = description;
    }
    public String getDescription() {
        return this.description;
    }

    //Set & Get: Description_Short
    public void setDescriptionShort(String description_short) {
        this.description_short = description_short;
    }
    public String getDescriptionShort() {
        return this.description_short;
    }

    //Set & Get: Link_Rewrite
    public void setLinkRewrite(String link_rewrite) {
        this.link_rewrite = link_rewrite;
    }
    public String getLinkRewrite() {
        return this.link_rewrite;
    }

    //Set & Get: Meta_Description
    public void setMetaDescription(String meta_description) {
        this.meta_description = meta_description;
    }
    public String getMetaDescription() {
        return this.meta_description;
    }

    //Set & Get: Meta_Keywords
    public void setMetaKeywords(String meta_keywords) {
        this.meta_keywords = meta_keywords;
    }
    public String getMetaKeywords() {
        return this.meta_keywords;
    }

    //Set & Get: Meta_Title
    public void setMetaTitle(String meta_title) {
        this.meta_title = meta_title;
    }
    public String getMetaTitle() {
        return this.meta_title;
    }

    //Set & Get: Name
    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return this.name;
    }

    //Set & Get: Available_Now
    public void setAvailableNow(String available_now) {
        this.available_now = available_now;
    }
    public String getAvailableNow() {
        return this.available_now;
    }

    //Set & Get: Available_Later
    public void setAvailableLater(String available_later) {
        this.available_later = available_later;
    }
    public String getAvailableLater() {
        return this.available_later;
    }

    //Set & Get: CategoryIDs
    public void setCategoryIDs(ArrayList<Integer> categoryIDs) {
        this.categoryIDs = categoryIDs;
    }
    public ArrayList<Integer> getCategoryIDs() {
        return this.categoryIDs;
    }
    // </editor-fold>
}
